///<reference path='SPRESTList.ts'/>
///<reference path='SPRESTContext.ts'/>
///<reference path='SPRESTWeb.ts'/>
// Module
module SPREST {

    // Class
    export class File {

        public checkInComment: string = null;
        public checkOutType: number = null;
        public contentTag: string = null;
        public customizedPageStatus: number = null;
        public eTag: string = null;
        public exists: bool = null;
        public length: number = null;
        public majorVersion: number = null;
        public minorVersion: number = null;
        public name: string = null;
        public serverRelativeUrl: string = null;
        public timeCreated: string = null;
        public timeLastModified: string = null;
        public title: string = null;
        public uIVersion: number = null;
        public uIVersionLabel: number = null;

        constructor (public Context: SPREST.Context, public Web: SPREST.Web, public Folder: SPREST.Folder, public files: SPREST.FileCollection, public ResultData: any) {
            this.checkInComment = ResultData.CheckInComment;
            this.checkOutType = ResultData.CheckOutType;
            this.contentTag = ResultData.ContentTag;
            this.customizedPageStatus = ResultData.CustomizedPageStatus;
            this.eTag = ResultData.ETag;
            this.exists = ResultData.Exists;
            this.length = ResultData.Length;
            this.majorVersion = ResultData.MajorVersion;
            this.minorVersion = ResultData.MinorVersion;
            this.name = ResultData.Name;
            this.serverRelativeUrl = ResultData.ServerRelativeUrl;
            this.timeCreated = ResultData.TimeCreated;
            this.timeLastModified = ResultData.TimeLastModified;
            this.title = ResultData.Title;
            this.uIVersion = ResultData.UIVersion;
            this.uIVersionLabel = ResultData.UIVersionLabel;
        }
    }
}